package com.lp.search.service;

import com.lp.model.config.AppResult;
import com.lp.model.dto.search.SearchPageDto;
import com.lp.model.dto.search.SearchPrefix;
import com.lp.model.entity.article.vo.ArticleVO;
import com.lp.model.entity.article.vo.PageVO;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface IArticleSearchService {

    /**
     * 搜索
     * @param pageDto 分页数据 + 查询内容
     * @return
     */
    PageVO<ArticleVO> search(SearchPageDto pageDto);

    /**
     * 添加文章到索引库
     */
    void insertByArticleId(Long articleId);

    /**
     * 从索引库删除文章
     */
    void delByArticleId(Long articleId);

    /**
     * 修改索引库中文章信息
     * @param articleId
     */
    void updateByArticleId(Long articleId);

    /**
     * 搜索文章自动补全
     * @param prefix 搜索前缀
     */
    List<String> suggestion(SearchPrefix prefix);

}
